6.3.1 UPDATE
-Anweisung für mehrere Spalten/Tabellen
In der Realität werden jedoch oft nicht nur einzelne Spalten eines Tabelleneintrages geändert,
sondern mehrere Spalteneinträge. Auch dies ist mit einer einfachen UPDATE
-Anweisung
möglich und wird in SQL so geschrieben:
UPDATE tabellenName SET Spalte_3 = Wert1, Spalte_4 = Wert2, ... WHERE Spalte_1 = Wert3
So kann bei einem Umzug neben der Straße auch die Postleitzahl mit einer Abfrage geändert werden.
In den UPDATE
-Anweisungen können auch Zusatzinformationen aus anderen Tabellen
genutzt werden. Dazu muss bei der Angabe der Tabelle ein JOIN
mit einer zweiten
Tabelle angegeben werden:
UPDATE tabelleName_1 INNER JOIN tabelleName_2 ON tabelleName_1.Spalte_3 = tabelleName_2.Spalte_1 SET tabelleName_1.Spalte_2 = Wert1 WHERE tabelleName_2.Spalte_4 = Wert2
Ein Beispiel in unserer Personalverwaltung könnte dann so aussehen. Wir möchten den Lohn aller Beamten um 10% erhöhen. Wir können uns erst einmal alle Beamten mit folgender Anweisung anzeigen lassen und später noch mal überprüfen:
SELECT beschreibung, name, bruttolohn FROM tbl_position INNER JOIN tbl_mitarbeiter ON tbl_position.position_ID = tbl_mitarbeiter.position WHERE tbl_position.beschreibung = 'Beamter'
Nun die Änderung des Bruttolohns der Beamten:
UPDATE tbl_position INNER JOIN tbl_mitarbeiter ON tbl_position.position_ID = tbl_mitarbeiter.position SET tbl_mitarbeiter.bruttolohn = tbl_mitarbeiter.bruttolohn*1.1 WHERE tbl_position.beschreibung = 'Beamter'